package week6.hotel;

/**
 * Een prijzige Kamer
 * Practicumopgave Programmeren 1
 * @author Rick Clement en Adriaan Dekker
 * @version $Revision: 1.3 $
 */
public class PrijzigeKamer extends Kamer implements Rekening.Item {
    // ------------------ Instantievariabelen ----------------
	private double bedrag;
   
    // ------------------ Constructor ------------------------

    /**
     * Maakt een nieuwe PrijzigeKamer aan met kamernummer, kamerprijs en huurprijs voor de kluis.
     * @param nummer het kamernummer
	 * @param kamerprijs de prijs van deze kamer
	 * @param kluisprijs de prijs van de kluis
     */
	public PrijzigeKamer(int nr, double kamerprijs, double kluisprijs) {
		super(nr);
		bedrag = kamerprijs;
		kluis = new PrijzigeKluis(kluisprijs, Wachtwoord.BEGINWOORD);
	}
    // ------------------ Aanvragen --------------------------
   
    /**
     * Levert het bedrag van dit item op
     * @ensure result >= 0
     */
	public double getBedrag() {
		return bedrag;
	}
   
    // ------------------ Commando's --------------------------
 
	public String toString() {
		String retval = "Kamer ";
			retval += nummer;
			retval += " kost " + String.format("$%3.2f", bedrag);
		if (this.gast != null)
			retval += ", bezet door " + gast.getNaam();
		if (this.kluis.isActief())
			retval += " die zijn kluis gebruikt: " + kluis;
		return retval;
	}

	/**
	 * Levert de tekst voor op de rekening in de vorm van "Kamer #"
	 */
	public String getBeschrijving() {
		return "Kamer " + nummer;
	}
}
